perm filename KNOW3.AI[ESS,JMC] blob
sn#005477 filedate 1971-11-29 generic text, type T, neo UTF8
00100 When we formalize knowledge, belief, and ascription, here are
00200 some of the problems that arise:
00300
00400 1. We adopt the convention that the object of knowledge is
00500 a phrase in the our own language. Thus
00600
00700 knows(John,"telephone(Pete)",s)
00800
00900 asserts that John knows the value of the expression "telephone(Pete)"
01000 in the situation s. The expression "telephone(Pete)" is in our
01100 language not necessarily John's. Thus John may not speak English.
01200 Similarly we can have
01300
01400 knows(Fido,"location(Bone1)",S1)
01500
01600 without imagining Fido to know English or any other language.
01700
01800 2. We use the notation
01900
02000 value(e,p,s)
02100
02200 to denote the value of the expression e to the person p in the
02300 situation s. Here, as above, the situation s is the situation
02400 in which the ascription of value takes place. If e itself
02500 refers to a situation that will be explicitly indicated in
02600 the expression e.
02700
02800 Now we have the problem of what values expressions take.
02900 Can the value of an expression be a person or must it also be
03000 an expression? It seems better to take the value of an
03100 expression to be also an expression.
03200
03300 We may say
03400
03500 value(Fido,"location(Bone1)",S1) = "3 meters north of Tree1".
03600
03700 "3 meters north of Tree1" is also an expression in our language. We
03800 shall not treat the case where the value is an expression not meaningful
03900 to us such as "East of the sun and West of the moon", and so we shall
04000 not be able to deal with other people's nonsensical belief systems.
04100
04200 Therefore, we should probably restrict ourselves to expressions
04300 that have a value to us so that there is also
04400
04500 value(e)
04600
04700 the "true" value of the expression.
04800
04900 What about
05000
05100 value(George IV, "author(Waverley)",S)?
05200
05300 Let us postpone this embarassment; perhaps we shall not have to deal with
05400 it in working out a knowledge system adequate for travel problems.
05500
05600 3. Consider the assertion that the travel agent knows the best way
05700 to get from one place to another. This may be formalized as
05800
05900 (∀xyuv). place(u) ∧ place(v) ∧ names(x,u) ∧ names(y,v) ⊃
06000 knows(Agent1,subst(x,"x",subst(y,"y","bestway(x,y)")),S).
06100
06200 We can instantiate the above expression as follows:
06300
06400 place(Chicago) ∧ place(Boston) ∧ names("Chicago",Chicago) ∧
06500 names("Boston",Boston) ⊃ knows(Agent1,
06600 subst("Chicago","x",subst("Boston","y","bestway(x,y)")),S).
06700
06800 If we take names("Chicago",Chicago) and names("Boston",Boston)
06900 as instances of a suitable axiom schema, take place(Boston) and
07000 place(Chicago) as axioms, and perform the indicated substitution, then
07100 we can deduce
07200
07300 knows(Agent1,"bestway(Chicago,Boston",S).
07400
07500 Suppose the travel agent believes that all roads lead to Rome and
07600 hence that the best way to get from u to v is to go from u to Rome by
07700 chariot and then from Rome to v by chariot. We formalize this by saying
07800
07900 (∀xyuv) place(u) ∧ place(v) ∧ names(x,u) ∧ names(y,v) ⊃
08000 value(Agent1,subst(x,"x",subst(y,"y","bestway(x,y)")),S1) =
08100 subst(x,"x",subst(y,"y","sequence(go(x,Rome),go(Rome,y))")).
08200
08300 The names(x,u) relation seems to be necessary when we want to
08400 make quantified statements. The formalism is clumsy in its explicit
08500 use of symbolic computation in the substitutions, but other notations,
08600 especially modal ones seem to me to fall down when we try to express
08700 such generalizations.
08800
08900 4. The above example is one of the simplest cases of the assertion
09000 that a person knows how to do something and the assertion of a persons
09100 way of doing something. In general, a way of doing something is a program,
09200 and we need a programming language in order to describe peoples ways of
09300 doing things. Again we emphasize that the programming language is ours
09400 and not necessarily the knowers, i.e. we can describe Fido's way of
09500 burying a bone without Fido having to know Algol.
09600
09700 5. Suppose we want to express the idea that George cannot call
09800 John immediately because he doesn't know his telephone number, but that
09900 if Mike tells George the number, then George will be able to do it.
10000 We first need to express the fact that if George dials John's number,
10100 he will thereby call John, and also that George has the telephone and
10200 so can dial any number he wants to.
10300
10400
10500 6. Back to "George IV wondered whether Walter Scott was the
10600 author of Waverley". We shall write it
10700
10800 wonders(G4,"Sir Walter Scott = author(Waverley)",S).